import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;
/**
 * Classe botton es donde se encuentra los botones y letreros
 * que son utilizadon dentro del juego
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Button extends Actor
{
    private GreenfootImage but1;    //Imagen que se utiliza para actuar
    private GreenfootImage but2;    //Imagen 2 que se utiliza para actuar
    private int bot;                //Variable que indica el tipo de boton
    /**
     * Constructor del boton donde asiga las imagenes que se ponen dentro de las variables GreenfootImage
     * para que puedan actuar
     * @param entero del numero de boton seleccionado
     */
    public Button(int nB)
    {
        bot=nB;
        if(nB==1)
        {
            but1 = new GreenfootImage("play1.png");
            but2 = new GreenfootImage("play2.png");
        }else
        if(nB==2)
        {
            but2 = new GreenfootImage("tutorial2.png");
            but1 = new GreenfootImage("tutorial1.png");}else
        if(nB==3)
        {
            but2 = new GreenfootImage("creditos2.png");
            but1 = new GreenfootImage("creditos1.png");}else
        if(nB==4)
        {   
            but2 = new GreenfootImage("letreroMonedas.png");
            but1 = new GreenfootImage("letreroMonedas.png");}else
        if(nB==5)
        {   
            but2 = new GreenfootImage("letreroVidas.png");
            but1 = new GreenfootImage("letreroVidas.png");}else
        if(nB==6)
        {
            but2 = new GreenfootImage("winner.png");
            but1 = new GreenfootImage("winner1.png");}else
         if(nB==7)
         {
            but2 = new GreenfootImage("game-over.png");
            but1 = new GreenfootImage("game-over1.png");
        }
        if(nB==8)
        {   
            but2 = new GreenfootImage("anterior.png");
            but2.scale((but2.getWidth())/5,(but2.getHeight())/5);
            but1 = new GreenfootImage("back.png");
            but1.scale((but1.getWidth())/5,(but1.getHeight())/5);
        }
        if(nB==9)
        {
            but2 = new GreenfootImage("siguiente.png");
            but2.scale((but2.getWidth())/5,(but2.getHeight())/5);
            but1 = new GreenfootImage("next.png");
            but1.scale((but1.getWidth())/5,(but1.getHeight())/5);
        }
        if(nB==10)
        {   
            but2 = new GreenfootImage("anterior.png");
            but2.scale((but2.getWidth())/5,(but2.getHeight())/5);
            but1 = new GreenfootImage("back.png");
            but1.scale((but1.getWidth())/5,(but1.getHeight())/5);
        }
        if(nB==11)
        {
            but2 = new GreenfootImage("siguiente.png");
            but2.scale((but2.getWidth())/5,(but2.getHeight())/5);
            but1 = new GreenfootImage("next.png");
            but1.scale((but1.getWidth())/5,(but1.getHeight())/5);
        }
        if(nB==12)
        {
            but2 = new GreenfootImage("anterior.png");
            but2.scale((but2.getWidth())/5,(but2.getHeight())/5);
            but1 = new GreenfootImage("back.png");
            but1.scale((but1.getWidth())/5,(but1.getHeight())/5);
        }
        if(nB==13)
        {
            but2 = new GreenfootImage("anterior.png");
            but2.scale((but2.getWidth())/5,(but2.getHeight())/5);
            but1 = new GreenfootImage("back.png");
            but1.scale((but1.getWidth())/5,(but1.getHeight())/5);
        }
        setImage(but1);
    }
    /**
     * El metodo actual realiza un cambio de imagen cada que  el mouse es pasado sobre el boton
     * ademas de que cuando se da clic a un boton realiza el llamado a otro metodo
     */
    public void act() 
    {
        if(Greenfoot.mouseMoved(null))
        {
            MouseInfo raton = Greenfoot.getMouseInfo();
            if(this == raton.getActor())
            {setImage(but2);}else
            {setImage(but1);}
        }
        if(Greenfoot.mouseClicked(this))
        {
            WorldGather gather = (WorldGather)getWorld();
            getWorld().removeObject(this);
            gather.clearObjects();
            if(bot==1)
                gather.nivel1();else
            if(bot==2 || bot==10)
                gather.tutorial();else
            if(bot==6 || bot==7 || bot==8 || bot==13)
                gather.menu();else
            if(bot==9 || bot==12)
                gather.tutorial2();else
            if(bot==11)
                gather.tutorial3();else
            if(bot==3)
                gather.creditos();
                
        }
    }
}
